package dao;


import java.io.IOException;
import java.util.List;

import bean.Employee;
import exception.DAOException;

public interface EmployeeDAO {
	
	List<Employee> viewEmployees() throws DAOException;

	
	void createEmployee(String firstName, String lastName, String userName, 
			String password, String addressLine1,String addressLine2, String city, 
			String state, String dateOfBirth, long id, String type, 
			String workDescription, String hireDate, String position, String role, 
			long created_by, String created_on , long updated_by, String updated_on, long zip ) throws DAOException;
	
	void deleteEmployee(long id) throws DAOException;
	
	void updateEmployee(String firstName, String lastName, String userName,
			String password, String addressLine1,String addressLine2, String city, 
			String state, String dateOfBirth, long id, String type,
			String workDescription, String hireDate, String position, String role, 
			long created_by, String created_on , long updated_by,
			String updated_on, long zip) throws DAOException;

	List<Employee> searchEmployees(String firstName, String lastName, long id, String workDescription)throws DAOException, IOException;
	
	Employee getEmployeeDetails(long id) throws DAOException;
	
	List<Employee> searchEmployeeByAttr(List<String> tbl, List<String> paramName, List<String> paramValue)throws DAOException;


}
